package be.kuleuven.thesis.framework;

import be.kuleuven.thesis.R;

public enum Atmosphere {
	COSY {
		@Override
		public String toString() {
			return "Gezellig";
		}
		
		public int getButtonId() {
			return R.id.gezellig;
		}
		
		public int getLabelId() {
			return R.string.cosy;
		}
		
		public int getIndex() {
			return 2;
		}
	},
	EXUBERANT {
		@Override
		public String toString() {
			return "Uitbundig";
		}
		
		public int getButtonId() {
			return R.id.uitbundig;
		}
		
		public int getLabelId() {
			return R.string.exuberant;
		}
		
		public int getIndex() {
			return 9;
		}
	},
	ENERGETIC {
		@Override
		public String toString() {
			return "Energiek";
		}
		
		public int getButtonId() {
			return R.id.energetisch;
		}
		
		public int getLabelId() {
			return R.string.energetic;
		}
		
		public int getIndex() {
			return 0;
		}
	},
	BRIGHT {
		@Override
		public String toString() {
			return "Opgewekt";
		}
		
		public int getButtonId() {
			return R.id.opgewekt;
		}
		
		public int getLabelId() {
			return R.string.bright;
		}
		
		public int getIndex() {
			return 4;
		}
	},
	IMAGINATIVE {
		@Override
		public String toString() {
			return "Fantasierijk";
		}
		
		public int getButtonId() {
			return R.id.fantasierijk;
		}
		
		public int getLabelId() {
			return R.string.imaginative;
		}
		
		public int getIndex() {
			return 1;
		}
	},
	HAPPY {
		@Override
		public String toString() {
			return "Vrolijk";
		}
		
		public int getButtonId() {
			return R.id.vrolijk;
		}
		
		public int getLabelId() {
			return R.string.happy;
		}
		
		public int getIndex() {
			return 10;
		}
	},
	MYSTERIOUS {
		@Override
		public String toString() {
			return "Mysterieus";
		}
		
		public int getButtonId() {
			return R.id.mysterieus;
		}
		
		public int getLabelId() {
			return R.string.mysterious;
		}
		
		public int getIndex() {
			return 3;
		}
	},
	RELAX {
		@Override
		public String toString() {
			return "Relax";
		}
		
		public int getButtonId() {
			return R.id.relax;
		}
		
		public int getLabelId() {
			return R.string.relax;
		}
		
		public int getIndex() {
			return 5;
		}
	},
	ROMANTIC {
		@Override
		public String toString() {
			return "Romantisch";
		}
		
		public int getButtonId() {
			return R.id.romantisch;
		}
		
		public int getLabelId() {
			return R.string.romantic;
		}
		
		public int getIndex() {
			return 6;
		}
	},
	PEACEFUL {
		@Override
		public String toString() {
			return "Rustig";
		}
		
		public int getButtonId() {
			return R.id.rustig;
		}
		
		public int getLabelId() {
			return R.string.peaceful;
		}
		
		public int getIndex() {
			return 7;
		}
	},
	STIMULATING {
		@Override
		public String toString() {
			return "Stimulerend";
		}
		
		public int getButtonId() {
			return R.id.stimulerend;
		}
		
		public int getLabelId() {
			return R.string.stimulating;
		}
		
		public int getIndex() {
			return 8;
		}
	};
	
	abstract public int getIndex();
	abstract public int getButtonId();
	abstract public int getLabelId();
	
	public static Atmosphere getAtmosphere(int index) {
		for(int i = 0; i < Atmosphere.values().length ; i++) {
			if(Atmosphere.values()[i].getIndex() == index)
				return Atmosphere.values()[i];
		}
		return null;
	}
	
	public static Atmosphere getMood(String mood) {
		for(Atmosphere a: Atmosphere.values()) {
			if(a.toString().equals(mood))
				return a;
		}
		return null;
	}
}
